﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Polenter.Serialization;

namespace ZCrawler
{
    public abstract class ZRule
    {
        public string FieldName { get; set; }
        public List<ZFilter> filters { get; set; }
        public bool EnableFilters { get; set; }
        protected bool EOF;
        protected int tag;
        public List<ZCrawlDataProcessor> processors { get; set; }
        public abstract string Process(HtmlAgilityPack.HtmlDocument doc);
        public abstract string Process<T>(T source);
        public abstract void AddCrawlDataProcessor(ZCrawlDataProcessor processor);
        public abstract void reset();
        public abstract string Description();

    }
}
